package com.sun.designpatternsdemo.iterator

import android.os.Bundle
import android.util.Log
import com.sun.designpatternsdemo.R
import com.sun.designpatternsdemo.app.AppConstant
import com.sun.designpatternsdemo.app.EMTagHandler
import com.sun.designpatternsdemo.base.BaseActivity
import com.sun.designpatternsdemo.databinding.ActivityIteratorBinding

/**
 * 版权：xx公司 版权所有
 * @author sun
 * 版本：1.0
 * 创建日期：${DATE} ${TIME}
 * 描述：${DATA}
 * 迭代器模式（Iterator Pattern）是 Java 和 .Net 编程环境中非常常用的设计模式。
 * 这种模式用于顺序访问集合对象的元素，不需要知道集合对象的底层表示。
 * <p>
 * 主要解决：不同的方式来遍历整个整合对象。
 */
class IteratorActivity : BaseActivity<ActivityIteratorBinding>() {

    override fun layoutId(): Int = R.layout.activity_iterator

    override fun initView(savedInstanceState: Bundle?) {
        title = "迭代器模式"
        mDataBind.apply {
            tvDefine.text = EMTagHandler.fromHtml(AppConstant.ITERATOR_DEFINE)
            btPlName.setOnClickListener {
                val nameRepository = NameRepository()
                val iterator: Iterator = nameRepository.getIterator()
                while (iterator.hasNext()) {
                    val name = iterator.next() as String?
                    Log.e("---", name!!)
                }

            }
        }
    }
}